package com.agua.enturno.vista.dto.assemblers;

import com.agua.enturno.excepciones.ExcepcionDeReglaDelNegocio;
import com.agua.enturno.modelo.prestador.Rubro;
import com.agua.enturno.vista.dto.RubroDTO;

import java.util.ArrayList;
import java.util.List;

public class RubroAssembler extends NullAwareSimpleAssembler<Rubro, RubroDTO> {

	@Override
	protected RubroDTO internalAssemble(Rubro rubro) {
		return new RubroDTO(rubro.getId(), rubro.getNombre());
	}

	@Override
	protected Rubro internalDisassemble(RubroDTO rubroDTO) throws ExcepcionDeReglaDelNegocio {
		return new Rubro(rubroDTO.getNombre());
	}
	
	public List<RubroDTO> assemble(List<Rubro> rubros) {
		
		List<RubroDTO> rubrosDTO = new ArrayList<RubroDTO>();
		
		for (Rubro rubro : rubros) 
			rubrosDTO.add(assemble(rubro));
		
		return rubrosDTO;
	}

}
